Service-now Integration GuideLines

Service-now Integration Guide Lines

 

Integration:

 

Integration or Ebonding is nothing but the configuration in between tools, through which they can communicate or exchange the data.

 

We have some out of box integration in Service-now such as,

  1. Integration with Oracle DB or MySQL DB
  2. Integration with LDAP
  3. Integration with Excel Sheet etc.

 

We have the below components which are used to integrate any Third-party tool with Service-now such as

  1. Table Web Service (By Default)
    1. REST Web Service
    2. SOAP Web Service
  2. Scripted Web Service
  3. Processor

 

Different Approaches for Service-now Integration

 

We can go with different approaches to integrate any Third-party tool with Service-now and which are very much depends on the Client specifications or the requirements.

 

  1. PUSH PUSH  
    1. In this both the tools are active, and they will push or send the respective updates to each other.
    2. In this both the development teams of the tool will actively take part into the integration development process.
    3. For the PUSH from Service-now side, we can use Business rules, UI Action, Schedule Job or any Server-side script.
PUSH PUSH Integration Image

 

 

  1. PUSH PULL
    1. In this just one tool is actively taking part into the Integration Development.
    2. In this only one tool is responsible for sending an update or creating data into other tool and the same tool is responsible for collecting updates or creating data from other tool as well.
    3. For the PULL from Service-now side, we can use, schedule job, Processor, UI action etc.
PUSH PULL Integration Image

 

 

Payload Format:

 

The payload format is an important component in every Service-now Webservice integration and based on that we can decide an integration approach, whether we need to go for “By default web service”, “scripted web service”, “the Processor” or “the schedule job”.

  • Data according to Service-now Tool format
    • If we decide to do the integration using service-now data format then it will be quite easy from service-now end as we can use by default functionality of service now like TABLE Webservices.
  • Data according to Third Party Tool format
    • If we decide to do the integration using third party tool data format then we need to create Scripted Webservice so that Service-now can accept the data from third party tool in their own format.
    • In this case, we can create a new table as per third party tool format and can share the by default webservice of new service-now table to third party tool
    • In case of PULL, no need to create any scripted web service as in PULL, third party tool is not going to send any data to service-now instead from service-now, we are going to PULL the data from third party tool.

 

Service-now Webservice Integration

 

We have 2 types of web service integrations.

  1. SOAP Web Service
  2. REST Web Service

 

IN-BOUND

 

Inbound Service-now Webservice is used by third-party tool to PUSH or to send the data into Service-now.

 

By default, every table in service now have the REST END POINT and the WSDL with predefined functions. In this the third-party tool developer need to send the data as per service now format.

 

For Example, for Incident table we will be having below webservice components that we can share with third party tool developers so they can send the data into Service-now

 

  1. SOAP Webservice
    1. WSDL: https://dev76049.service-now.com/incident.do?WSDL
    2. Functions:
      1. Insert (In Case of Import set, we will always use this option to send the data to Service-now)
      2. update
      3. deleteMultiple
      4. getKeys
      5. deleteRecord
      6. get
      7. getRecords
  1. REST Webservice
    1. End Point: https://dev76049.service-now.com/api/now/table/incident

 

 Import Set Table:

 

  1. It is a temporary table which is used as a staging table in Integration.
  2. This table will come into the picture whenever third-party tool sends or PUSH the data into Service-now table or Service-now needs to PULL the data from third party tool into Service-now table.
  3. It is recommended that the data from third party tool is not directly imported into service now main tables like incident, change, cmdb_ci (Configuration item), alm_asset (Asset) since we might need to make any changes or need to make any validation in the data before adding it into the Service-now table.
  4. Import set table is also used to debug the received data from third-party tool to check whether the imported data is correct or ignored or rejected by Service-now with some specific reason.
  5. There is a by default schedule job in Service-now, that deletes all records in import set which are older than 7 days.

 

  1. Transform Map:
    1. It is used for transferring the data from import set table to Service now main table.
    2. It is used to map data fields of third-party tool with data fields of Service-now tool.
    3. It is used to add the validation logic, enhancement logic, create case or update case logic while transferring the data from import set table to Service-now main table.

 

OUT-BOUND

 

Service-now supports both REST as well as SOAP Webservices for sending the outbound call to third-party tool.

 

SOAP OUTBOUND Webservice

Once we get a WSDL from third-party tool, we can create a SOAP Message in Service-now for sending the data to third-party tool.

 

REST ENDPOINT

Once we get a REST endpoint from third-party tool, we can create a REST Message in Service-now for sending the data to third-party tool.

 

 

Authentication Type Supported in Service-now

 

  1. Basic Authentication
  2. OAuth
    1. We can support the below format Certificates.
      1. Certificates with "PKCS12 Key Store" and " Java Key Store " of type.
      2. Certificates with DER or PEM format with "Trust Store Cert" or "Private Key" Types.

Development Meeting Guide Lines for Service-now Integration with any Third-Party Tool

First Meeting:

  • Considering this is a development meeting, both the development team should be present in this meeting.
  • In the first meeting, Service-now team should understand the business requirement so that they can consider the same while development i.e. whether to use import set API’s or direct table API’s.
  • Service-now team should know
    • Webservice type supported by third party tool.
    • What type of authentication type third party tool needed?
    • PUSH or PULL data from Service-now?
    • In case of PUSH from third-party tool, are they going to support service-now data format or their own data format?
    • Retrieve mechanism is needed or not in case of any failure transaction?


Second Meeting:

  • After the first meeting discussion, Service-now team need to know the scenario or the use cases and the respective field mappings.
    • To Create Incident from Service-now into third party tool– (Service now team should get information from third party tool regarding mandatory fields and their data format)
    • Create Incident from Third-party tool into Service-now– (Service-now team should give information to third party tool developers regarding mandatory fields and the data format)
    • Similar approach can be used for updates transactions.